<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>属性管理</title>
</head>
<body>
    
</body>
</html>
<script>
    //属性管理
    //添加属性
    // let obj = {name:"后盾人"};
    // obj.site = 'houdunren';
    // obj['age'] = 22;

    // //删除属性
    // delete obj.name;
    // //检测属性
    // console.log(obj.hasOwnProperty('age'));
    // console.log(obj)

    //通过数组查看
    // let arr = ["后盾人"];
    // console.log(arr)
    // //检测对象是否有指定的属性 【检测的是对象本身】
    // console.log(arr.hasOwnProperty("length"));
    // //检测没有连接属性，因为concat是原型上的属性
    // console.log(arr.hasOwnProperty('concat'));
    // //检测自己本身以及父级中是否 包含的属性
    // console.log('concat' in arr);

    //使用in可以再原型上检测对象
    // let obj = {name:'后盾人'};
    // let hd = {
    //     web : "houdunren.com"
    // };
    // //设置hd为obj的新原型
    // Object.setPrototypeOf(obj,hd);
    // console.log(obj);
    // //hd是obj的对象原型  所有web是存在再obj的父原型上的
    // console.log("web" in obj)
    // console.log(obj.hasOwnProperty("web"));

    //assign
    //从一个或者多个对象复制属性
    //合并多个对象
    // "use strict";
    // let hd = {a:1,b:2};
    // //assign 合并多个对象
    // //重复的属性会抵消掉
    // hd = Object.assign(hd,{f:1},{m:9},{a:5});
    // console.log(hd)


    //计算属性
    // let id = 0;
    // const user = {
    //     [`id-${id++}`] : id,
    //     [`id-${id++}`] : id,
    //     [`id-${id++}`] : id
    // };
    // console.log(user);

    //使用计算属性为文章定义键名
    // const lessons = [
    //     {
    //         title:"媒体查询响应式布局",
    //         category : "css"
    //     },
    //     {
    //         title:"FLEX弹性盒子模型",
    //         category:"css"
    //     },
    //     {
    //         title:"MYSQL多表随意查询",
    //         category:"mysql"
    //     }
    // ];

    // let lessonsObj = lessons.reduce((obj,cur,index) => {
    //     obj[`${cur["category"]} - ${index}`] = cur;
    //     return obj;
    // },{});
    // console.log(lessonsObj['css - 0']);

    //传值操作
    //对象是引用类型赋值是传址操作
    // let user = {
    //     name : '后盾人'
    // };
    // let hd = {
    //     stu : user
    // };
    // hd.stu.name = 'hdcms';
    // console.log(user)

    
</script>